package edu.sias.course.service;



import edu.sias.course.domain.dto.CourseDTO;
import edu.sias.course.domain.entity.CoursePageQueryParams;
import edu.sias.course.domain.entity.PageResult;
import edu.sias.course.domain.entity.QueryPageBean;
import edu.sias.course.domain.vo.CourseAddVO;
import edu.sias.course.domain.vo.CourseAllVO;

import java.util.List;

/**
 * @Description CourseService
 * @Author songyu
 * @Date 2023-08-27 07:59
 */
public interface CourseService {

    /**
     * 添加学科
     * @param courseAddVO
     */
    void add(CourseAddVO courseAddVO);

    /**
     * 分页查询学科
     * @param queryPageBean
     * @return
     */
    PageResult findListByPage(QueryPageBean<CoursePageQueryParams> queryPageBean);

    /**
     * 学科更新方法
     * @param courseDTO
     */
    void update(CourseDTO courseDTO);

    /**
     * 删除学科
     * @param courseId
     */
    void delete(Integer courseId);

    /**
     * 获取全部学科(含标签、目录列表)列表
     * @return
     */
    List<CourseAllVO> findListAll();
}
